<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>fplot</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">fplot</h1>
<h2>Purpose</h2>
<p>Plot function over the union of polyhedra.</p>
<h2>Syntax</h2>
<pre class="synopsis">h = Set.fplot()</pre>
<pre class="synopsis">h = Set.fplot('name', 'Prop1', value1, 'Prop2', value2)</pre>
<pre class="synopsis">h = fplot(Set, 'name', 'Prop1', value1, 'Prop2', value2)</pre>
<h2>Description</h2>
<p></p>
        Plot function over the union of polyhedra. If there are more functions, then the string <tt>name</tt> indicates
        the function to be plotted. If the function is vector valued, i.e. its range is greater than 1, 
        than the first element of the function is plotted by default. For vector valued functions 
        the <tt>position</tt> property indicates which element of the function value to plot.

        Figure properties, such as color, line width, etc, can be specified with "Property" - "Value" pairs. 
	<h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>U</tt></td>
<td>
<p></p>
         <tt>PolyUnion</tt> object that contains polyhedra in the same dimension with associated functions.<p>
	    		Class: <tt>PolyUnion</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>name</tt></td>
<td>
<p></p>If there are more functions over one set, the string <tt>name</tt> identifies
        the function to be plotted. This argument can be omitted if only one function is attached to a set.
        <p>
	    		Class: <tt>char</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>Prop1</tt></td>
<td>
<p></p>Specification of figure properties.<p>
	    		Class: <tt>char</tt><p>Allowed values:</p><ul>
<li>
<tt>position</tt><p></p>For vector valued functions, the <tt>position</tt> indicates which element of the function value to plot.</li>
<li>
<tt>Grid</tt><p></p>With how many gridpoints to grid the circle/sphere. Default is 20.</li>
<li>
<tt>Color</tt><p></p>The color of the plot specified by real RGB vector or a string name of the color (e.g. 'gray');</li>
<li>
<tt>Wire</tt><p></p>Highlight the edges of the set. Default is false.</li>
<li>
<tt>LineStyle</tt><p></p>Specify the type of the line to plot edges of the set. Accepted values are '-',':','-.','--', and'none'.</li>
<li>
<tt>LineWidth</tt><p></p>Specify the width of the line. Default is 1.</li>
<li>
<tt>Alpha</tt><p></p>Transparency of the color. The value must be inside [0,1] interval. Default is 1.</li>
<li>
<tt>Contour</tt><p></p>Add contour graph. Default is false.</li>
<li>
<tt>ContourGrid</tt><p></p>With how many grid points to plot the contour graph. Default is 30.</li>
<li>
<tt>show_set</tt><p></p>Plot the domain of the function. Default is false.</li>
<li>
<tt>showgrid</tt><p></p>Show the grid inside the set. Default is false.</li>
<li>
<tt>colormap</tt><p></p>Color map to use given as a string or a function handle. Default is 'mpt'.</li>
<li>
<tt>colororder</tt><p></p>Either 'fixed' or 'random'. Default is 'fixed'.</li>
</ul></p>
</td>
</tr>
<tr valign="top">
<td><tt>value1</tt></td>
<td>
<p></p>Assigns value to <tt>Prop1</tt>.</td>
</tr>
</tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>h</tt></td>
<td>
<p></p>Handle related to graphics object.<p>
	    		Class: <tt>handle</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3> We have piecewise affine function defined over a union of convex sets. Construct the set of four polyhedra in 1D. <pre class="programlisting"> P(1) = Polyhedron('lb',-5,'ub',-1); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(2) = Polyhedron('lb',-1,'ub',1); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(3) = Polyhedron('lb',1,'ub',4); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(4) = Polyhedron('lb',4,'ub',5); </pre>
<pre class="programlisting"></pre> Add affine functions to these sets <pre class="programlisting"> P(1).addFunction(AffFunction(-2,1),'a'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(2).addFunction(AffFunction(0.1,3.1),'a'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(3).addFunction(AffFunction(-0.2,3.4),'a'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P(4).addFunction(AffFunction(2,-5.4),'a'); </pre>
<pre class="programlisting"></pre> Construct the union saying that it is convex, non-overlapping, bounded, and full-dimensional. <pre class="programlisting"> U = PolyUnion('Set',P,'convex',true,'overlaps',false,'bounded',true,'fulldim',true) </pre>
<pre class="programlisting">PolyUnion in the dimension 1 with 4 polyhedra.
Properties of the union: 
  Convex: 1
  Overlaps: 0
  Connected: 1
  Bounded: 1
  FullDim: 1
Functions : 1 attached "a"
</pre> Plot the functions over the union with the line width equal 3 and by showing the polyhedra as well. <pre class="programlisting"> U.fplot('a','LineWidth',3,'show_set',true); </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/fplot_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/fplot_img_1.png" width="60%"></p>
<h3>Example 
				2</h3> Plot piecewise-quadratic function  Generate a polygon.  <pre class="programlisting"> v = [-1, 1.7; 1.1, 0.5; 0, 2.3; 1, -1.7; 0, -2.3; -1.1 -0.5]; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> Q = Polyhedron(v);  </pre>
<pre class="programlisting"></pre> Triangulate the polygon and create an union of polyhedra.<pre class="programlisting"> T = PolyUnion('Set',Q.triangulate,'Convex',true,'overlaps',false) </pre>
<pre class="programlisting">PolyUnion in the dimension 2 with 4 polyhedra.
Properties of the union: 
  Convex: 1
  Overlaps: 0
  Connected: 1
Functions : none
</pre> Attach a quadratic function over this union and name it "power". <pre class="programlisting"> T.addFunction(QuadFunction(diag([1,2.3]),[-3,0.5],5),'power') </pre>
<pre class="programlisting">PolyUnion in the dimension 2 with 4 polyhedra.
Properties of the union: 
  Convex: 1
  Overlaps: 0
  Connected: 1
Functions : 1 attached "power"
</pre> Plot the function over the union with random color, transparency equal 0.4, and show grid.<pre class="programlisting"> T.fplot('colororder','random','show_set',true,'alpha',0.4,'showgrid',true) </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/fplot_img_2.png" alt="../../../../../../fig/mpt/modules/geometry/unions/@PolyUnion/fplot_img_2.png" width="60%"></p>
<h2>See Also</h2>
<a href="../../sets/@ConvexSet/plot.html">plot</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="toc.html" class="button">&#9664;</a>  </td>
<td align="left">toc</td>
<td>  </td>
<td align="right">isconnected</td>
<td align="right" width="20"><a href="isconnected.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
<p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
